"""
汉诺塔问题
分三步走：
1、把 n-1 个盘子，从 a 经过 c 移动到 b 上
2、把 最底下的盘子（也就是1个盘子），从 a 直接移动到 c 上
2、把 n-1 个盘子，从 b 经过 a 移动到 c 上
"""


def hanoi(n, a, b, c):
    if n > 0:
        hanoi(n - 1, a, c, b)
        print("moving from {} to {}".format(a, c))
        hanoi(n - 1, b, a, c)


if __name__ == '__main__':
    hanoi(3, 'A', 'B', 'C')
